﻿/******************************************************************************
 * 创建者：gtts
 * 创建日期：2011.3.28
 * 类名：DateTimeClass
 * 说明：时间的变换以及处理集合（单例类）
 * 主要方法：
 * Version 1.0
 ******************************************************************************/
using System;
using System.Collections.Generic;
using System.Text;

namespace GTTSOfLibrary.Common
{
    /// <summary>
    /// 时间处理类（单例类）
    /// </summary>
    public class DateTimeClass
    {
        //单例模式
        private static DateTimeClass _DataTimeClass = null;
        private DateTimeClass()
        {//私有构造函数            
        }
        public static DateTimeClass Instance
        {
            get
            {
                if (_DataTimeClass == null)
                {
                    _DataTimeClass = new DateTimeClass();
                }
                return _DataTimeClass;
            }
        }

        #region 数字日期转汉字日期

        /// <summary>
        /// 将日期转换为汉字形式的日期
        /// </summary>
        /// <param name="dateTime">要转换的日期</param>
        /// <returns>转换后的日期字符</returns>
        public string Date2Chinese(DateTime dateTime)
        {
            char[] strChinese = new char[] { 
            '〇','一','二','三','四','五','六','七','八','九','十'
        };
            StringBuilder result = new StringBuilder();
            char[] chars = (dateTime.Year.ToString()).ToCharArray();
            foreach (char c in chars)
            {
                result.Append(strChinese[Convert.ToInt32(c.ToString())]);
            }
            result.Append("年");

            chars = (dateTime.Month.ToString()).ToCharArray();
            foreach (char c in chars)
            {
                result.Append(strChinese[Convert.ToInt32(c.ToString())]);
            }
            result.Append("月");

            chars = (dateTime.Day.ToString()).ToCharArray();
            foreach (char c in chars)
            {
                result.Append(strChinese[Convert.ToInt32(c.ToString())]);
            }
            result.Append("日");

            result.Append(" ");
            result.Append(dateTime.Hour.ToString() + ":" + dateTime.Minute + ":" + dateTime.Second);

            return result.ToString();
        }
        #endregion
    }
}
